#pragma once
#include <iostream>
using namespace std;

typedef int ListType;
typedef struct ListNode
{
	ListType data;
	ListNode* next;
	ListNode* prev;

};
ListNode* CreatNewNode(ListType x);
void ListPrint(ListNode* head);
ListNode* ListInit();
void ListPushBack(ListNode* head, ListType x);
void ListPushFront(ListNode* head, ListType x);
void ListPopBack(ListNode* head);
void ListPopFront(ListNode* head);
ListNode* ListFind(ListNode* head, ListType x);
void ListInsert(ListNode* pos, ListType x);
void ListErase(ListNode* pos);
void ListDestroy(ListNode* head);